{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ]
   },
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "\n",
    "import sys \n",
    "from os import getcwd, path\n",
    "sys.path.append(path.dirname(getcwd()))\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sb\n",
    "import pandas as pd\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ]
   },
   "outputs": [],
   "source": [
    "from utils import data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_peripheral_a: 29 to 29 rows\n",
      "inner join with tcr_peripheral_a: 29 to 29 rows\n",
      "{'dataframe_hash': -8062678075537494193,\n",
      " 'provenance_file_summary': {u'cohorts': u'0.4.0+3.gda968fb',\n",
      "                             u'isovar': u'0.0.6',\n",
      "                             u'mhctools': u'0.3.0',\n",
      "                             u'numpy': u'1.11.1',\n",
      "                             u'pandas': u'0.18.1',\n",
      "                             u'pyensembl': u'1.0.3',\n",
      "                             u'scipy': u'0.18.1',\n",
      "                             u'topiary': u'0.1.0',\n",
      "                             u'varcode': u'0.5.10'}}\n"
     ]
    }
   ],
   "source": [
    "cohort = data.init_cohort(join_with=\"tcr_peripheral_a\",\n",
    "                          exclude_patient_ids=set(),\n",
    "                          only_patients_with_bams=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from utils.paper import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from scipy.stats import spearmanr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_peripheral_a: 29 to 29 rows\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Missing 5-Factor Score for 3 patients: from 29 to 26\n",
      "{{{five_factor_vs_tcr_plot}}}\n",
      "{{{five_factor_vs_tcr_spearmanr:n=26, Spearman rho=0.25 p=0.22}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n6eYFgYY9uq4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4aaafbd290>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "spearmanr_hyper_label_printer(cohort.plot_correlation({\"Pre-treatment TCR Clonality\": lambda row: \n",
    "                                                 row[\"Clonality\"],\n",
    "                                    \"5-Factor Score\": lambda row: row[\"5-factor score\"]},\n",
    "                                    plot_type=\"boxplot\",\n",
    "                                    x_col=\"5-Factor Score\",\n",
    "                                    show_stat_func=False,\n",
    "                                    stat_func=spearmanr), label=\"five_factor_vs_tcr\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  },
  "name": "TCR Clonality.ipynb"
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
